/**
 * 执行 npm run build 版本自增1
 */
import fs from 'fs'

// 读取 config.json 文件
const configJsonPath = './package.json'
const configJson = JSON.parse(fs.readFileSync(configJsonPath, 'utf8'))

// 自动递增版本号
const currentVersion = configJson.version
const newVersion = incrementVersion(currentVersion)

// 修改 version 字段
configJson.version = newVersion

// 将修改后的内容写入 config.json 文件
fs.writeFileSync(configJsonPath, JSON.stringify(configJson, null, 2), 'utf8')

console.log(`版本号已更新为 ${newVersion}`)

// 辅助函数：递增版本号
function incrementVersion(version) {
  const parts = version.split('.')
  let major = parseInt(parts[0])
  let minor = parseInt(parts[1])
  let patch = parseInt(parts[2])

  if (patch == 99) {
    patch = 1
    minor += 1

    if (minor == 99) {
      minor = 1
      major += 1
    }
  } else {
    patch += 1
  }

  return `${major}.${minor}.${patch}`
}
